/*
 * listas.c
 *
 *  Created on: 27/09/2011
 *      Author: Luca - Anahi
 */



#include "listas.h"
#include "FS.h"

/*** Operaciones sobre listas genéricas (elementos) ***/

t_lista *crear_lista(){
	t_lista *lista = malloc( sizeof(t_lista));
	return lista;
}

int agregar_elemento_lista(t_lista *lista, void *elemento) {
	t_campoLista *nuevo = malloc(sizeof(t_campoLista));
	nuevo->algo = elemento;
	nuevo->sgte = NULL;

	if (lista->ptro == NULL){
		nuevo->sgte = lista->ptro;
		lista->ptro = nuevo;
	} else {
		t_campoLista *aux = lista->ptro;
		while (aux->sgte != NULL) {
			aux = aux->sgte;
		}
		aux->sgte = nuevo;
	}
	lista->cantElementos++;
	return lista->cantElementos - 1;
}

/*
t_lista buscar_directorio(t_lista *lista, char *nombreDir){
	t_lista ptr = NULL;
	if (lista == NULL){
		return ptr;
	}
	else {
		t_lista *aux = lista;
		if(aux->)
	}
}
*/


/*** Operaciones sobre listas de Clusters ***/

t_listaClusters *crear_lista_clusters(){
	t_listaClusters *listaClusters = malloc( sizeof(t_listaClusters));
	return listaClusters;
}


void agregar_cluster_lista(t_listaClusters *listaClusters, uint32_t cluster) {
	t_listaClusters *nuevo = malloc(sizeof(t_listaClusters));
	nuevo->cluster = cluster;
	nuevo->sgte = NULL;

	if (listaClusters == NULL){
		nuevo->sgte = listaClusters;
		listaClusters = nuevo;
	} else {
		t_listaClusters *aux = listaClusters;
		while (aux->sgte != NULL) {
			aux = aux->sgte;
		}
		aux->sgte = nuevo;
	}
	return;
}

